When writing data to a conventional flash data memory system, a host typically assigns unique logical addresses to sectors, clusters or other units of data within a continuous virtual address space of the memory system. The host writes data to, and reads data from, addresses within the logical address space of the memory system. The memory system then commonly maps data between the logical address space and the physical blocks of the memory. Each block consists of a number of pages.
A common practice with flash memory is to operate multiple memory die in parallel to increase write performance. One method for achieving the multiple die parallelism is known as page level die interleaving, where one page is written to each of the different die in the memory system before writing a next page to each die. In this technique, sequentially addressed data that is written from the host to the memory system is striped across multiple die a page at a time. The write performance of a multiple die flash memory may be improved using this technique, but the size of the resulting metablock tends to be large. Larger metablock sizes can degrade the performance of a memory system when the memory system receives random writes, rather than long sequential writes, from a host.